package com.tms.mail.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 应付单对象 yfd
 *
 * @author ruoyi
 * @date 2024-10-28
 */
public class Yfd extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 应付单号 */
    @Excel(name = "应付单号")
    private String payableOrderNo;

    /** 运单号 */
    @Excel(name = "运单号")
    private String waybillNo;

    /** 承运商 */
    @Excel(name = "承运商")
    private String carrier;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private Integer orderStatus;

    /** 签收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;

    /** 结束状态 */
    @Excel(name = "结束状态")
    private Integer settlementStatus;

    /** 结算时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settlementTime;

    /** 对账单状态 */
    @Excel(name = "对账单状态")
    private Integer reconciliationStatus;

    /** 对账单号 */
    @Excel(name = "对账单号")
    private String reconciliationNo;

    /** 成本合计(元) */
    @Excel(name = "成本合计(元)")
    private BigDecimal totalCost;

    /** 运费成本(元) */
    @Excel(name = "运费成本(元)")
    private BigDecimal transportationCost;

    /** 包装费(元) */
    @Excel(name = "包装费(元)")
    private BigDecimal packagingFee;

    /** 装卸费(元) */
    @Excel(name = "装卸费(元)")
    private BigDecimal handlingFee;

    /** 其他费用(元) */
    @Excel(name = "其他费用(元)")
    private BigDecimal otherFees;

    /** 应付(元) */
    @Excel(name = "应付(元)")
    private BigDecimal payable;

    /** 现付(元) */
    @Excel(name = "现付(元)")
    private BigDecimal cashOnDelivery;

    /** 预付(元) */
    @Excel(name = "预付(元)")
    private BigDecimal prepaid;

    /** 到付(元) */
    @Excel(name = "到付(元)")
    private BigDecimal collectOnDelivery;

    /** 周期付(元) */
    @Excel(name = "周期付(元)")
    private BigDecimal periodicPayment;

    /** 已对账金额(元) */
    @Excel(name = "已对账金额(元)")
    private BigDecimal reconciledAmount;

    /** 未对账金额(元) */
    @Excel(name = "未对账金额(元)")
    private BigDecimal unreconciledAmount;

    /** 扣款金额(元) */
    @Excel(name = "扣款金额(元)")
    private BigDecimal deductionAmount;

    /** 实付(元) */
    @Excel(name = "实付(元)")
    private BigDecimal actualPayment;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shippingTime;

    /** 始发地 */
    @Excel(name = "始发地")
    private String origin;

    /** 目的地 */
    @Excel(name = "目的地")
    private String destination;

    /** 司机 */
    @Excel(name = "司机")
    private String driver;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phoneNumber;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setPayableOrderNo(String payableOrderNo)
    {
        this.payableOrderNo = payableOrderNo;
    }

    public String getPayableOrderNo()
    {
        return payableOrderNo;
    }
    public void setWaybillNo(String waybillNo)
    {
        this.waybillNo = waybillNo;
    }

    public String getWaybillNo()
    {
        return waybillNo;
    }
    public void setCarrier(String carrier)
    {
        this.carrier = carrier;
    }

    public String getCarrier()
    {
        return carrier;
    }
    public void setOrderStatus(Integer orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus()
    {
        return orderStatus;
    }
    public void setSignTime(Date signTime)
    {
        this.signTime = signTime;
    }

    public Date getSignTime()
    {
        return signTime;
    }
    public void setSettlementStatus(Integer settlementStatus)
    {
        this.settlementStatus = settlementStatus;
    }

    public Integer getSettlementStatus()
    {
        return settlementStatus;
    }
    public void setSettlementTime(Date settlementTime)
    {
        this.settlementTime = settlementTime;
    }

    public Date getSettlementTime()
    {
        return settlementTime;
    }
    public void setReconciliationStatus(Integer reconciliationStatus)
    {
        this.reconciliationStatus = reconciliationStatus;
    }

    public Integer getReconciliationStatus()
    {
        return reconciliationStatus;
    }
    public void setReconciliationNo(String reconciliationNo)
    {
        this.reconciliationNo = reconciliationNo;
    }

    public String getReconciliationNo()
    {
        return reconciliationNo;
    }
    public void setTotalCost(BigDecimal totalCost)
    {
        this.totalCost = totalCost;
    }

    public BigDecimal getTotalCost()
    {
        return totalCost;
    }
    public void setTransportationCost(BigDecimal transportationCost)
    {
        this.transportationCost = transportationCost;
    }

    public BigDecimal getTransportationCost()
    {
        return transportationCost;
    }
    public void setPackagingFee(BigDecimal packagingFee)
    {
        this.packagingFee = packagingFee;
    }

    public BigDecimal getPackagingFee()
    {
        return packagingFee;
    }
    public void setHandlingFee(BigDecimal handlingFee)
    {
        this.handlingFee = handlingFee;
    }

    public BigDecimal getHandlingFee()
    {
        return handlingFee;
    }
    public void setOtherFees(BigDecimal otherFees)
    {
        this.otherFees = otherFees;
    }

    public BigDecimal getOtherFees()
    {
        return otherFees;
    }
    public void setPayable(BigDecimal payable)
    {
        this.payable = payable;
    }

    public BigDecimal getPayable()
    {
        return payable;
    }
    public void setCashOnDelivery(BigDecimal cashOnDelivery)
    {
        this.cashOnDelivery = cashOnDelivery;
    }

    public BigDecimal getCashOnDelivery()
    {
        return cashOnDelivery;
    }
    public void setPrepaid(BigDecimal prepaid)
    {
        this.prepaid = prepaid;
    }

    public BigDecimal getPrepaid()
    {
        return prepaid;
    }
    public void setCollectOnDelivery(BigDecimal collectOnDelivery)
    {
        this.collectOnDelivery = collectOnDelivery;
    }

    public BigDecimal getCollectOnDelivery()
    {
        return collectOnDelivery;
    }
    public void setPeriodicPayment(BigDecimal periodicPayment)
    {
        this.periodicPayment = periodicPayment;
    }

    public BigDecimal getPeriodicPayment()
    {
        return periodicPayment;
    }
    public void setReconciledAmount(BigDecimal reconciledAmount)
    {
        this.reconciledAmount = reconciledAmount;
    }

    public BigDecimal getReconciledAmount()
    {
        return reconciledAmount;
    }
    public void setUnreconciledAmount(BigDecimal unreconciledAmount)
    {
        this.unreconciledAmount = unreconciledAmount;
    }

    public BigDecimal getUnreconciledAmount()
    {
        return unreconciledAmount;
    }
    public void setDeductionAmount(BigDecimal deductionAmount)
    {
        this.deductionAmount = deductionAmount;
    }

    public BigDecimal getDeductionAmount()
    {
        return deductionAmount;
    }
    public void setActualPayment(BigDecimal actualPayment)
    {
        this.actualPayment = actualPayment;
    }

    public BigDecimal getActualPayment()
    {
        return actualPayment;
    }
    public void setShippingTime(Date shippingTime)
    {
        this.shippingTime = shippingTime;
    }

    public Date getShippingTime()
    {
        return shippingTime;
    }
    public void setOrigin(String origin)
    {
        this.origin = origin;
    }

    public String getOrigin()
    {
        return origin;
    }
    public void setDestination(String destination)
    {
        this.destination = destination;
    }

    public String getDestination()
    {
        return destination;
    }
    public void setDriver(String driver)
    {
        this.driver = driver;
    }

    public String getDriver()
    {
        return driver;
    }
    public void setPhoneNumber(String phoneNumber)
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber()
    {
        return phoneNumber;
    }
    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createdTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("payableOrderNo", getPayableOrderNo())
            .append("waybillNo", getWaybillNo())
            .append("carrier", getCarrier())
            .append("orderStatus", getOrderStatus())
            .append("signTime", getSignTime())
            .append("settlementStatus", getSettlementStatus())
            .append("settlementTime", getSettlementTime())
            .append("reconciliationStatus", getReconciliationStatus())
            .append("reconciliationNo", getReconciliationNo())
            .append("totalCost", getTotalCost())
            .append("transportationCost", getTransportationCost())
            .append("packagingFee", getPackagingFee())
            .append("handlingFee", getHandlingFee())
            .append("otherFees", getOtherFees())
            .append("payable", getPayable())
            .append("cashOnDelivery", getCashOnDelivery())
            .append("prepaid", getPrepaid())
            .append("collectOnDelivery", getCollectOnDelivery())
            .append("periodicPayment", getPeriodicPayment())
            .append("reconciledAmount", getReconciledAmount())
            .append("unreconciledAmount", getUnreconciledAmount())
            .append("deductionAmount", getDeductionAmount())
            .append("actualPayment", getActualPayment())
            .append("shippingTime", getShippingTime())
            .append("origin", getOrigin())
            .append("destination", getDestination())
            .append("driver", getDriver())
            .append("phoneNumber", getPhoneNumber())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .toString();
    }
}
